[新機能]あのSnowflake Hybrid Tablesが遂に日本上陸!!
はじめに
yokatsukiです。
日本時間2024年3月6日、待望のSnowflake Hybrid TablesがAWS東京リージョン環境でパブリックプレビュー(PuPr)になりました!!
Snowflake Hybrid Tablesとは
Snowflake Hybrid Tables(以下Hybrid Tables)とは、一言で表すと「OLTPに適したデータ格納形式を持つテーブル」の事です。OLTPに適したHybrid Tablesと従来の大規模集計が得意なSnowflake Tablesを組み合わせることで、OLAPもOLTPも両方高速に処理できるデータ基盤を構築することが可能になります(このことを、Snowflakeでは「Unistore」と呼んでいます)
Hybrid Tablesは、Snowflake Summit 2022にて発表され、現在は一部のAWSリージョンのアカウントでのみ利用可能なプライベートプレビューの状態にあります。
AWS東京リージョンでHybrid Tablesを作成する
検証環境
以下のSnowflakeアカウントで行いました。
- リージョン: AWS Asia Pacific ap-northeast-1(AWS東京リージョン)
- エディション: Enterprise
Hybrid Table作成
公式Docに簡単な動作確認のSQLが記載されているので、それを実行してみます。
テーブルの作成構文はCREATE HYBRID TABLE
となります。
-- Create hybrid table CREATE OR REPLACE HYBRID TABLE icecream ( id NUMBER PRIMARY KEY AUTOINCREMENT START 1 INCREMENT 1, col1 VARCHAR NOT NULL, col2 VARCHAR NOT NULL );
実行結果です。1秒弱掛かりました。
データをINSERTしてみます。
-- Insert data into hybrid table INSERT INTO icecream VALUES(1, 'A1', 'B1'); INSERT INTO icecream VALUES(2, 'A2', 'B2'); INSERT INTO icecream VALUES(3, 'A3', 'B3'); INSERT INTO icecream VALUES(4, 'A4', 'B4');
実行結果です。1.4秒掛かりました。
1行更新してみます。
-- Update data in hybrid table UPDATE icecream SET col2 = 'B3-updated' WHERE id = 3;
109ミリ秒で更新できました。
1行削除してみます。
-- Delete data from hybrid table DELETE FROM icecream WHERE id = 4;
1.1秒掛かりました。
データを検索します。
-- Select data from hybrid table SELECT * FROM icecream;
431ミリ秒でした。
おわりに
AWS東京リージョンでHybrid Tablesの作成ができることを確認しました。プレビューとは言え、準備のための申請などは特に必要としていませんので、皆さんも是非お試しください!
性能や運用のベストプラクティスについて気になると思いますが、こちらは今後調査しながら解明していきたいと思います。性能について確認された先人がいらっしゃいますので、まずはこちらをご参考になさって下さい。
私は今後、Hybrid Tablesが普及することで、Snowflake環境一つでOLAP+OLTP=HTAP(Hybrid Transaction Analytical Processing) が実現できる大きな一歩になると思っています。HTAPにつきましては、私が以下の動画で説明していますのでご参考になれば幸いです。
それでは、また。